<?php /* @var $user User */ ?>
<style type="text/css">
form {
  margin-left:25px;
}
input, textarea, select {
  display:block;
  width:250px;
  float:left;
  margin-left:10px;
  margin-bottom:15px;
  font-family: "Trebuchet MS", Tahoma, Verdana, Arial, Helvetica, sans-serif;
  font-size: 10pt;
}

textarea {
  height:50px;
}
label {
  position:relative;
  display:block;
  text-align:right;
  float:left;
  width:105px;
  padding-right:5px;
}
label em {
  position:absolute;
  right:-260px;
  top:-15px;
  font-size:.8em;
  color: #f00;
  padding: 1px;
}
br {
  clear:left;
}
.cb, .rb {
  width:1em;
}
#output {
  background-color:#F0B80D;
  height:25px;
  overflow:hidden;
  padding:5px;
  margin-bottom:15px;
}
</style>

<div id="output">AJAX-ответ от сервера заменит этот текст.</div>

<form id="edit_user_form" action="" method="post">
    <label for="email">E-mail: (*)<em></em></label>
    <input id="email" name="email" type="text" value="<?php echo (!empty($user) ? $user->getEmail() : ''); ?>" />
    <br />
    <label for="status">Статус: (*)<em></em></label>
    <select name="status" id="status">
        <option value="0" <?php echo (empty($user) || $user->getStatus() == 0 ? 'selected="selected"' : ''); ?>>новый</option>
        <option value="1" <?php echo (!empty($user) && $user->getStatus() == 1 ? 'selected="selected"' : ''); ?>>активный</option>
        <option value="2" <?php echo (!empty($user) && $user->getStatus() == 2 ? 'selected="selected"' : ''); ?>>заблокирован</option>
    </select>
    <br />
    <label for="password">Пароль: (*)<em></em></label>
    <input id="password" name="password" type="password" />
    <br />
    <input type="hidden" name="id" id="id" value="<?php echo (!empty($user) ? $user->getId() : ''); ?>">
    <input id="submit" type="submit" name="UserSaveAction" value="Submit" />
</form>


<script type="text/javascript">
$(document).ready(function(){
	// post-submit callback 
	function showResponse(response, statusText)  { 
	    if (response.error) {
		    alert(response.text);
		    $("#output").html(response.text);
	    } else {
		    // если все хорошо - делаем редирект
		    window.location.href = '/admin/users/';
	    }
	}
	
// ---- Форма -----
  // готовим опции для метода
  // ajaxSubmit плагина jquery.form.js
  var options = { 
    target: "#output",
    dataType: "json",
    timeout: 3000, // тайм-аут
    success: showResponse  // post-submit callback 
  };

  $("#edit_user_form").validate({
    submitHandler: function(form) {
      // вызываем метод ajaxSubmit
      // плагина jquery.form.js
      $(form).ajaxSubmit(options);
    },
    focusInvalid: false,
    focusCleanup: true,
    rules: {
        email: {
            required: true,
            email: true,
            remote: {
                url: "/admin/users/check-email/",
                type: "post",
                data: {
                    id: $("#id").val()
                }
            }
        },
        password: {
            rangelength: [6, 24]
        },
    },
    messages: {
        email: {
            required: "Нужно указать email адрес",
            email: "Email адрес должен быть корректным",
            remote: "Указанный e-mail уже используется"
        },
        password: {
            rangelength: "Пароль - от 6 до 24 символов"
        },
    },
    errorPlacement: function(error, element) {
      var er = element.attr("name");
      element.parent().find("label[for='" + er + "'] em").html(error);
    }
});
// ---- Форма -----
});
</script>